The most useful kind of custom data type is the structure, or record. The structure groups several different data types together so they may be manipulated using a single name. A structure representing a personnel record may look like:
struct personnel_rec
{
char name[80];
int id_number;
float salary;
};
The name, or TAG, of this new data type follows identifier naming rules*. (Some programmers capitalize the first or all letters of the tag.) Although the foregoing defines the new data type, it does not yet allocate space for a variable having this type. A new variable named jack is declared using: